1. Field of the Invention
The present invention relates to a storage system and a storage system control method.
2. Description of the Related Art
In recent years, for example, technology for delivering video, voice and other content data in the form of movies, plays, news stories, and educational programming directly to users via networks has begun to become popular. At this point, the methods for supplying content data to users can be broadly divided into downloading systems and streaming systems.
In the case of downloading systems, the entire content data is stored on a user's computer, after which it becomes possible to view this content data. Because of this, it takes time before the content can be played back, lowering usability. By contrast, in the case of a streaming system, a portion of the content data can be viewed as soon as a user's computer receives it.
Thus, today, the delivery of content data using the streaming system (hereinafter, streaming delivery) is coming into widespread use. In the meantime, since content data quality is also being improved from year to year, content data size and bit rates are on the rise. Consequently, there is a demand for streaming delivery to deliver large-size content data more smoothly.
However, content data that is delivered via streaming is managed by a storage system. In line with the demand for faster streaming delivery, faster response performance is being demanded of storage systems as well. Since streaming delivery must deliver content data in accordance with a predetermined bit rate, storage systems are being expected to offer not only enhanced data transfer performance (throughput), but also improved response performance (latency). Prior art for solving such requirements has been proposed (Japanese Laid-open Patent No. 2003-345519 and Japanese Laid-open Patent No. 8-137754).
The first prior art of Japanese Laid-open Patent No. 2003-345519 strives to improve the cache hit rate by actively implementing on a plurality of drives prefetch processing for a sequential read request in a disk array device of a constitution that utilizes striping.
However, this first prior art is premised on the fact that the data is arranged sequentially on a recording medium, and does not take into consideration cases in which the data is not sequentially arranged on a recording medium.
In general, every time a file system adds or deletes data, the data stored on a recording medium is fragmented. The more data fragmentation progresses, the more useless the pre-reading of data using prefetch becomes, and the more response performance is lowered. As the extent of the data fragmentation increases, prefetch response performance is reduced to below the response performance of when data is read out directly from the recording medium without performing a prefetch. Consequently, the first prior art only works when data is arranged sequentially on a recording medium beforehand, and this sequential arrangement is guaranteed not to break down. That is, the first prior art is only effective for extremely limited applications, and has low usability.
Further, in the second prior art of Japanese Laid-open Patent No. 8-137754, a determination is made as to whether or not a file I/O request from a host computer is a sequential access. When access is sequential, the prefetch quantity is calculated based on continuity of access, and prefetch is carried out.
However, the second prior art is premised on a single sequential access, and cannot support multiple sequential accesses, in which a plurality of sequential accesses is generated simultaneously. In particular, for example, in streaming delivery, content data is delivered to each of a plurality of users. Viewed from the storage system side, since highly multiplexed sequential accesses (a plurality of streams) as a whole cannot constitute a single sequential access, prefetch cannot be carried out in the second prior art. That is, the second prior art cannot demonstrate its effect unless the number of streams is limited to a single stream.